一、 安装准备
1. 安装Openssl
要使Apache支持SSL,需要首先安装Openssl支持。
下载Openssl:http://www.openssl.org/source/
tar -zxf openssl-1.*.**.tar.gz //解压安装包
cd openssl-1.*.** //进入已经解压的安装包
./config //配置安装。推荐使用默认配置
make && make install
openssl默认将被安装到/usr/local/ssl
2. 安装Apache
./configure --prefix=/usr/local/apache --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-mods-shared=all //配置安装。推荐动态编译模块
make && make install
动态编译Apache模块,便于模块的加载管理。Apache 将被安装到/usr/local/apache
二、 生成证书请求文件
*密钥文件不区分操作系统平台,推荐使用autocsr工具在本地创建证书请求文件。
*下载AutoCSR:
*autocsr.rar
*使用工具创建csr文件之后,将生成的certreq.csr文件发送给天威诚信,等待证书的签发。请同时备份server.key文件并稍后上传到服务器上进行配置。
*在您收到证书签发邮件之前,请不要删除Cert文件夹下server.key文件,以避免私钥丢失而导致证书无法安装。
在服务器上直接创建证书请求及密钥,请参考:
1. 创建私钥
在创建证书请求之前,您需要首先生成服务器证书私钥文件。
cd /usr/local/ssl/bin //进入openssl安装目录
openssl genrsa -out server.key 2048 //运行openssl命令,生成2048位长的私钥server.key文件。如果您需要对 server.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥,Linux环境下使用加密格式私钥时,每次重启Apache都需要您输入该私钥密码(例:openssl genrsa -des3 -out server.key 2048)。
2. 生成证书请求(CSR)文件
openssl req -new -key server.key -out certreq.csr
Country Name: //您所在国家的ISO标准代号,中国为CN
State or Province Name: //您单位所在地省/自治区/直辖市
Locality Name: //您单位所在地的市/县/区
Organization Name: //您单位/机构/企业合法的名称
Organizational Unit Name: //部门名称
Common Name: //通用名,例如:www.itrus.cn。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。
Email Address: //您的邮件地址,不必输入,直接回车跳过
"extra"attributes //以下信息不必输入,回车跳过直到命令执行完毕。
3. 备份私钥并提交证书请求
请将证书请求文件certreq.csr提交给天威诚信,并备份保存证书私钥文件server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用。
三、 安装服务器证书
1. 获取服务器证书
将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”) 粘贴到记事本等文本编辑器中,保存为server.crt文件
2. 获取CA证书
将证书签发邮件中的从BEGIN到 END结束的两张CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到同一个记事本等文本编辑器中,两张证书中间用回车换行不留空行分隔。修改文件扩展名,保存为ca.crt文件(如果只有一张CA证书,则只需要保存一张CA证书)。
3. 配置Apache
打开apache安装目录下conf目录中的httpd.conf文件,找到
#LoadModule ssl_module modules/mod_ssl.so
删除行首的配置语句注释符号“#”
保存退出。
打开apache安装目录下conf目录中的ssl.conf文件,查到“LoadModule ssl_module”如下:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd_ssl.conf
删除行首的配置语句注释符号“#”
保存退出。
打开apache安装目录下conf/extra目录中的httpd-ssl.conf(或conf目录中的ssl.conf)文件
在配置文件中的 <VirtualHost *:443>……</VirtualHost> 之间添加或编辑如下配置项
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLCertificateFile conf/server.crt 将服务器证书配置到该路径下
SSLCertificateKeyFile conf/server.key 将服务器证书私钥配置到该路径下
#SSLCertificateChainFile conf/ca.crt 删除行首的“#”号注释符,并将CA证书ca.crt配置到该路径下
保存退出,并重启Apache。重启方式:
进入Apache安装目录下的bin目录,运行如下命令
./apachectl -k stop
./apachectl -k start
通过https方式访问您的站点,测试站点证书的安装配置。
四、 服务器证书的备份及恢复
在您成功的安装和配置了服务器证书之后,请务必依据下面的操作流程,备份好您的服务器证书,以防证书丢失给您带来不便。
1. 服务器证书的备份
备份服务器证书私钥文件server.key,服务器证书文件server.crt,以及服务器证书CA证书文件ca.crt即可完成服务器证书的备份操作。
2. 服务器证书的恢复
请参照服务器证书配置部分,将服务器证书密钥文件恢复到您的服务器上,并修改配置文件,恢复服务器证书的应用。